# test04_md5.py
# 编写一个函数，用于检测一个文件的md5值
# 把文件路径作为参数传递，在函数体中以二进制读取方式打开文件，每次读取4kb数据，更新md5对象，最后返回16进制格式。
# check_md5(xxxx)  ->
import hashlib
def check_md5(file):
    # 创建空的md5对象
    m = hashlib.md5()
    # 打开文件，循环读取文件，每次读取4kb，读取再更新md5对象
    with open(file, mode='rb') as fr:
        while True:
            data = fr.read(4 * 1024)
            if not data:
                break
            m.update(data)
    # 返回md对象的16进制格式
    return m.hexdigest()
if __name__ == '__main__':
    result = check_md5('/root/python/pycharm-community-2022.3.1.tar.gz')
    print(result)

